<?php

namespace app\common\model;

use houdunwang\crypt\Crypt;
use think\Loader;
use think\Model;
use think\Validate;


/**
 *  User 前台登录模型
 * 前台登录模型
 * Class Admin
 * @package app\common\model
 */
class User extends Model
{
    //获取当前的数据表
    protected $table = 'shop_user';

    /**
     *  登录
     *  1.在模型执行验证
     */
    public function login($data)
    {
//        p($data);die;
        //1.执行验证规则，比对验证Admin文件
        $validate = Loader::validate('User');
        //2.如果验证不通过
        if(!$validate->check($data)){
            //返回错误提示信息
            return ['valid'=>0,'msg'=>$validate->getError()];
        }
        //2.比对用户名和密码是否正确                                                              \houdunwang\crypt\Crypt::encrypt
        $userInfo = $this->where('uname',$data['uname'])->where('password',Crypt::encrypt($data['password']))->find();
        if(!$userInfo)
        {
            //匹配不到相对应的数据放回提示信息
            return ['valid'=>0,'msg'=>'用户名或者密码不正确'];
        }
        //3.登录成功，将用户信息存入到session中
        session('user.uid',$userInfo['uid']);
        session('user.uname',$userInfo['uname']);
        return ['valid'=>1,'msg'=>'登录成功'];
    }
    public function reg($data)
    {
        //执行添加 滤非数据表字段的数据
        $result = $this->validate(true)->save($data);
        //p($result);die; //空位false ，执行成功返回 1 为true  一下判断拿false做判断
        if (false === $result) {
            //错误信息
            return ['valid' => 0, 'msg' => $this->getError()];
        } else {
            //成功信息
            return ['valid' => 1, 'msg' => '注册成功'];
        }
    }

}
